Zero confirmation
Punishment-based solution
Deposit-based
Cannot set a good upper bound of collateral (by more than double spends)
group of people coordinating to make a purchase at different merchants at (approx.) the same time.
Cristina P´erez-Sol`a, Sergi Delgado-Segura, Guillermo Navarro-Arribas, Jordi Herrera-Joancomart´ı (Autonomous University of Barcelona)
Discourages double-spending by making the attacker's private key is revealed so that he loses all the funds deposited in the address.
Propose fixed-r pay-to-pubkey script (FR-P2PK)
The signature must be made with a specific$ rvalue
Discourages double-spending an UTXO locked with FR-P2PK
Based on ECDSA vulnerability
It is possible to extract the private key from two signatures of different messages made with the same private key if the signer reuses the same$ k
Any peer that captures two double-spending transactions will be able to derive the private key
Conflict resolution-based solution
Avalanche for Bitcoin Cash
Avalanche Pre-Consensus: Making Zeroconf Secure Medium Chris Pacia
Possible attack vector for Avalanche Pre-Consensus Reddit 1. On the Ethereum chain, we randomly select N “proposers”.
2. We incentivize people to send small BCH transactions to these proposers.
We require in our layer-2 protocols that for data on the BCH chain to be valid, it must include as one of its inputs a particular UTXO that sends a small BCH payment to them.
3. This way, once a proposer publishes a transaction, if BCH’s anti-double-spend machinery works it will prevent that transaction from being replaced.
Resources
Tom Harding - Zero-Confirmation Transactions Video Awemany - Zero Conf Forfeits Video